export default {
  formatJOSN(array, key) {
    return array.filter(item => {
      if (item[key]) {
        item[key] = item[key].split(",");
      }
      return item;
    });
  },

  jsonToArr (arr) {
    return JSON.parse(arr);
  },

  replaceToSpace (str) {
    return str.replace(/,/g, '  ');
  },

  strToArr (str) {
    return str.split(',');
  },

  trimSpace (str) {
    return str.replace(/\s+/g, '');
  },
  /**
   * 函数节流
   * 规定一个单位时间，在这个单位时间内，只能有一次触发事件的回调函数执行，如果在同一个单位时间内某事件被触发多次，只有一次能生效。
   * @param {*} fn 函数
   * @param {*} delay 延迟时间
   */
  throttle (fn, delay) {
    var t = null,
        begin = new Date().getTime();
    
    return function () {
      var _self = this,
          args = arguments,
          cur = new Date().getTime();
      
      clearTimeout(t);
      if(cur - begin >= delay) {
        fn.apply(_self, args);
        begin = cur;
      } else {
        t = setTimeout(() => {
          fn.apply(_self, args);
        }, delay);
      }
    }
  }
};
